package com.lingmeng.system.service;

import com.lingmeng.system.entity.Equipment;

import java.util.List;

/**
 * 设备Service接口
 *
 * @author lingmeng
 * @date 2024-07-18
 */
public interface IEquipmentService {
	/**
	 * 查询设备
	 *
	 * @param id 设备主键
	 * @return 设备
	 */
	Equipment selectEquipmentById(Long id);

	/**
	 * 查询设备列表
	 *
	 * @param equipment 设备
	 * @return 设备集合
	 */
	List<Equipment> selectEquipmentList(Equipment equipment);

	/**
	 * 新增设备
	 *
	 * @param equipment 设备
	 * @return 结果
	 */
	int insertEquipment(Equipment equipment);

	/**
	 * 修改设备
	 *
	 * @param equipment 设备
	 * @return 结果
	 */
	int updateEquipment(Equipment equipment);

	/**
	 * 批量删除设备
	 *
	 * @param ids 需要删除的设备主键集合
	 * @return 结果
	 */
	int deleteEquipmentByIds(Long[] ids);

	/**
	 * 删除设备信息
	 *
	 * @param id 设备主键
	 * @return 结果
	 */
	int deleteEquipmentById(Long id);

	/**
	 * 设备开机
	 *
	 * @param id 设备主键
	 */
	void on(Long id);

	/**
	 * 设备关机
	 *
	 * @param id 设备主键
	 */
	void off(Long id);

	/**
	 * 设备激活
	 *
	 * @param id 设备主键
	 * @param userId 绑定用户
	 */
	void activation(Long id, Long userId);

	/**
	 * 设备导入
	 *
	 * @param list     设备集合
	 * @param operName 操作人员
	 * @return 结果
	 */
	String importEquip(List<Equipment> list, String operName);
}
